package com.hk.commons.concurrent;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.util.concurrent.CompletableFuture;

/**
 * 批量请求接口，减少远端接口多次请求在网络上的耗时
 *
 * @param <P> 请求的参数
 * @param <V> 响应的数据
 * @author Kevin
 * @date 2021-12-05 11:31
 */
@Getter
@Setter
@Accessors(chain = true)
public class BatchRequest<P, V> {

    /**
     * 每次请求的id，接口提供方也照样返回
     */
    private String requestId;

    /**
     * 请求的参数
     */
    private P body;

    /**
     * 响应后要处理
     */
    private CompletableFuture<V> future;
}
